package com.rssreader.client.components;

import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.rssreader.client.resources.Resources;

public class FeedPanel extends ContentPanel {
    // public FeedPanel() {
    // setHeading("Main");
    // setLayout(new FitLayout());
    // add(new FeedOverviewView());
    // // add(new ItemGrid());
    // // add(new ItemCategoryGrid());
    // // add(new ItemPagingGrid());
    //
    // ToolBar toolBar = new ToolBar();
    // Status status = new Status();
    // status.setWidth(150);
    // // 使用Status.setBox方法設置其顯示的邊框狀態，然後初始化其狀態的內容是OK
    // status.setBox(true);
    // status.setText("OK");
    // // 把status加進ToolBar，並把ToolBar放在ContentPanel的底部
    // toolBar.add(status);
    // setBottomComponent(toolBar);
    // }

    private final TabPanel tabPanel = new TabPanel();

    public FeedPanel() {
	setHeading("Main");
	setLayout(new FitLayout());
	add(tabPanel);
    }

    public void addTab(TabItem tabItem) {
	tabItem.setLayout(new FitLayout());
	tabItem.setIcon(Resources.ICONS.rss());
	tabItem.setScrollMode(Scroll.AUTO);

	// 只讓一個TabeItem負責顯示一個feed的data，若一個TabItem已經有feed
	// data並存在於TabPanel時，直接跳轉到此TabItem，否則就創建一個新的TabItem
	String tabId = tabItem.getId();
	TabItem existingTab = tabPanel.findItem(tabId, false);
	if (existingTab == null) {
	    tabPanel.add(tabItem);
	    tabPanel.setSelection(tabItem);
	} else {
	    tabPanel.setSelection(existingTab);
	}
    }
}
